package si.yun.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import si.yun.entity.ProductTable;
import si.yun.entity.SyUser;
import si.yun.entity.SyUserOrder;
import si.yun.entity.SyUserOrderExample;

public interface SyUserOrderMapper {


    int selIndexOrderPrompt(@Param("id") String id,@Param("i") Integer i);


    int SyCourseOrderManagementselControllerAllOrders();

    int SyCourseOrderManagementselControllerPendingPayment();

    int SyCourseOrderManagementselControllerCompleted();

    int SyCourseOrderManagementselControllerCancelled();

    List<SyUserOrder> SyCourseOrderManagementselControllerAllOrderReviewList();

    List<SyUserOrder> SyCourseOrderManagementselControllerPendingPaymentList();

    List<SyUserOrder> SyCourseOrderManagementselControllerCompletedList();

    List<SyUserOrder> SyCourseOrderManagementselControllerCanceledList();
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    List<SyUserOrder> SyCourseOrderManagementselControllerAllCourseOrderListView(@Param("syUser") SyUser syUser);
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    List<SyUserOrder> AdvancedRetrievalOfCourseListPopUpLayer(@Param("syUser") SyUser syUser);
    //查询商品订单列表
    List<Map<String, Object>> selProductOrderList(@Param("m") Map<String ,Object> m);
    //高级检索查询商品订单列表
    List<Map<String, Object>> selProductOrderList1(@Param("m") Map<String, Object> m);
    //商品订单列表的查看
    Map<String, Object> selProductOrderDetails(@Param("orderId") String orderId);
    //商品订单列表的删除
    int delProductOrderDetails(@Param("orderId") String orderId);
    //查询商品订单待付款列表
    List<Map<String, Object>> selGoodsPaidList(@Param("m") Map<String, Object> m);
    //查询课程订单列表数据
    List<Map<String, Object>> selCourseOrderListData(@Param("m") Map<String, Object> m);
    //查询课程订单列表数据详情
    Map<String, Object> selCourseOrderList(@Param("m") Map<String, Object> m);
    //查询个人商品列表
    List<Map<String,Object>> selPersonalProductList(@Param("m") Map<String, Object> m);
	//删除个人商品  10/18 李军瑶
    int delPersonalProductList(@Param("productId") Integer productId);
	//删除个人商品2  11/25 李军瑶
    int upPersonalProductList(@Param("productId") Integer productId);
	//修改商品审核状态  李军瑶 11/3
    int upProductSate(@Param("productSate") Integer productSate,@Param("productId") Integer productId);


    //商品订单列表   李军瑶  11/8
    List<Map<String,Object>> addOrdersGoods(ProductTable protab);
    //统计商品订单数量    李军瑶  11/8
    int getOrderNumber(@Param("orderType") Integer orderType,@Param("orderStatus") Integer orderStatus);

	//课程订单详情   李军瑶   11/16
    List<Map<String,Object>> selCourseOrderLists(@Param("orderId") Integer orderId);

    //商品订单详情   李军瑶  11/11
    List<Map<String,Object>> getOrderDetails(@Param("orderId") Integer orderId);
	//修改订单状态  李军瑶 11/24
    int upOrderStatus(@Param("orderStatus")String orderStatus,@Param("orderId")Integer orderId);
    //修改收件人信息   李军瑶  11/11
    int setAddress(@Param("address")String address,@Param("orderId")Integer orderId);
    //收件人地址   李军瑶  11/11
    Map<String,Object> getAddress(@Param("orderId")Integer orderId);
	
	//退货订单列表   李军瑶 11/19
    List<Map<String,Object>> returnGoods(ProductTable protab);
    //统计退货订单数量    李军瑶  11/19
    int getReturnGoodsNumber(@Param("orderStatus") Integer orderStatus);
    //商品退货订单审核 李军瑶 11/22
    int setOrderAudit(@Param("orderStatus") Integer orderStatus,@Param("orderId") Integer orderId);
    //添加审核记录  李军瑶 11/22
    int addOrderAuditLog(@Param("productId") Integer productId,@Param("implementId") Integer implementId,@Param("result") String result,
                        @Param("details") String details,@Param("type") Integer type);
	
}